1. Field of the Invention
The present invention relates to a method and receiver in a code division multiple access (CDMA) communication system, and more particularly, to a method and receiver capable of increasing acquisition efficiency in a CDMA communication system.
2. Description of the Prior Art
Global positioning systems (GPS) detect positions according to radio waves and time differences between transmitters and a receiver. Furthermore, the receiver can provide exact information regarding latitude, altitude, speed, and time. This information is based on ranging codes from the transmitter. The ranging codes are C/A (i.e., coarse/acquisition), and P code (i.e., precision codes). The C/A codes are provided for general users. The C/A codes provide lower precision of positioning capability than the P codes. The P codes are constructed by shorter chips, and provided for military uses, which will not be mentioned further. In the GPS, each satellite has a unique C/A code for acquisition and, most important, navigation data. In the satellite, the navigation data undergoes a convolution operation with the C/A code, and is modulated with a carrier. The navigation data includes ephemeris data, almanac data, launch time of the navigation data, timing calibration data, status of all satellites, propagation delay parameters of ionosphere, UTC parameters, and other included data not highlighted herein.
Relatively, workflow of the receiver is to search and lock the C/A codes, to capture C/A codes, to capture carrier, to synchronize information bit, to synchronize data frame byte, to search and acquire other satellites, calculate pseudo-range between each satellite, to solve simultaneous equations to obtain positions. In a typical satellite tracing method, the receiver first determines a number of satellites within the range of the receiver, and then the receiver will lock a satellite to execute an acquisition operation. The satellite depends on route data stored in the receiver and also time and position of the receiver when determining the satellites within the range of the receiver. The standard booting method of the receiver is known as a warm reboot or a soft reboot. On the contrary, the booting method for the receiver boots that boots without any information is known as a cold reboot. At this time, software of the receiver requires a better system to search satellites, once a satellite is locked down, the receiver can utilize the information read and then determine the number of satellites within its range. In general, satellite signal intensity received at ground is lower than the thermal noise of the receiver. This is due to spread spectrum being decoded and a longer propagated distance, in order to abstract the satellite signals from the noise, the GPS utilizes a code correlation technology. First, the receiver generates a set of codes for comparison with signals received from the satellite. When the two sets of codes match, the correlation value is greatest, and thus the original signal spectrum can be obtained after the spread spectrum is decoded.
Therefore, in executing a signal acquisition, in order to find a start point of the signal, a method utilized is a running sum of a time domain, which is to add up multiplications of point by point after shifting. The running sum of the time domain can calculate convolution result of signals and codes, but this method will consume a lot of time. According to the Fourier transform theory, convolution calculation of two signals on the time domain is converted onto the frequency domain for multiplication of spectrums of the two signals. Therefore, the conventional method realizes the running sum by multiplying frequency domain, in other words, the running sum operation of the two signals is first executed and then converted to the frequency domain, multiplication of the spectrum of the two signals is then executed, and the result of the multiplication of the frequency domain is finally converted back to the time domain. Although this method includes calculations such as Fourier transform and inverse Fourier transform, and multiplication of N2 required by the running sum is then simplified to multiplication of Nth. However, the fastest cold reboot of the receiver of the conventional GPS requires 45 to 50 seconds (whereas some machines require up 120 seconds), in this period of time, 18 to 24 seconds are spent on waiting for the satellite to transmit route signals, while the rest of the 20 to 30 seconds are spent on acquisition of signal. If the satellite signal transmission is being blocked, then there is a need to search again and wait, thus the time for the cold reboot will increase.
The primary reason for the conventional method to require 20 to 30 seconds performing the acquisition of signal operation is that the receiver is unable to know intensity of frequency shift caused by the Doppler effect. The Doppler effect is caused by relative movement, for example, by the relative movement of the transmitter end (satellite) and the receiver. More Specifically, when a user is navigating through a vehicle receiver, signals received by the receiver will demonstrate a frequency shift phenomenon. As the moving speed of the vehicle is accelerating, then this effect will become more obvious/pronounced; frequency spectrum S of the Doppler effect can be represented, for example, as an omni directional antenna receiving signal:
  S  =      1          2      ⁢      π      ⁢                          ⁢              f        D            ⁢                        1          -                                    (                                                f                  -                  fc                                                  f                  D                                            )                        2                              
f: operating frequency after the Doppler effect
fC: original operating frequency
fD: Doppler frequency
Therefore, in the GPS, the receiver has to consider the Doppler effect's affect on the frequency of the received signal. Other than that, the receiver is also required to include a mechanism and a calculation for generating C/A codes, hence in this way, calculation resources of the microprocessor is being occupied.
Please refer to FIG. 1. FIG. 1 illustrates a diagram of a baseband processing module 10 of a receiver of a conventional GPS. The operating method of the baseband processing module 10 is as follows: firstly, a multiplier 100 multiplies a digital medium frequency signal X [t] with a signal ej2π(fIF+fD)t generated by a frequency generator 102 so that frequency of the digital medium frequency X [t] is lowered to a baseband, where fIF represents frequency of a medium frequency, and fD represents the Doppler effect. In searching for a signal, the receiver cannot know the accurate Doppler frequency, therefore fD will be in between the range of −5 KHz to +5 KHz, and a search is performed every 500 Hz. Hence, fD will have 21 different values such that the multiplier 100 has to perform a multiplication operation for 21 times. The product result of the multiplier 100 will pass through a Fourier transform module 104 to obtain frequency of a digital baseband signal X′ [t]. Otherwise, a C/A code generator 106 can generate a set of 1023 bit C/A code frame, and the frequency of the C/A code frame can be obtained after passing through the Fourier transform module 108. As previously mentioned, the running sum operation of the two signals on the time domain is first executed and then converted to the frequency domain for multiplication of spectrum of the two signals. Therefore, a multiplier 110 is utilized for calculating the product of the signals outputted by the Fourier transform modules 104, 108, which is a frequency product of the baseband digital signal X′ [t] and C/A code frame, the obtained result is then passed through an inverse Fourier transform module 112 to be converted to the time domain. Lastly, a degree of correlation of the signal X [t] received by the baseband processing module 10 and the C/A code frame generated by the C/A code generator 106 can be obtained through an integral module 114, thus the result can determine whether acquisition is completed.
Thus, in the situation of determining acquisition through the baseband processing module 10, for each C/A code (which is each cycle), if the digital medium frequency signal X [t] includes N points (or quadrants), and a Fast Fourier transform algorithm and an Inverse Fast Fourier transform algorithm are utilized to realize the Fourier transform module 104, 108 and the inverse Fourier transform module 112, the calculations required are listed in the following:
1. Multiplication for 21 N points: 21 N points multiplication calculation required for the multiplication of ej2π(fIF+fD)t of different fD value and the digital medium frequency signal X [t].
2. Fast Fourier transform calculation of 21 N points: calculation required for the Fourier transform module 104 to convert 21 multiplying results outputted by the multiplier 100.
3. Fast Fourier transform calculation for 1 N point: calculation required for the Fourier transform module 108 to convert C/A codes generated by the C/A code generator 106.
4. Multiplication of 1 N point: calculation required for the multiplier 110 to calculate the product of signals outputted by the Fourier transform modules 104, 108.
5. Fast inverse Fourier transform calculation for 1 N point: calculation required for the inverse Fourier transform module 112.
Because the Fast Fourier transform is a fast realization for Discrete Fourier transform, the algorithm can be executed in three steps. The steps are: 1. rearrange N quadrant input signals into N quadrant signals; 2. execute N 1-point Discrete Fourier transform result to merge into an N point Discrete Fourier transform. Therefore, those skilled in the art will know that Fast Fourier transform of N point signal requires ((N/2)×B) multiplication and (N×B) addition, where B represents the order of merge which is equal to (log2 N).
Hence, total calculation Ct required by the baseband processing module 10 in each cycle is:
Ct=21×(multiplication of N point)+21×(Fast Fourier transform calculation of N point)+1×(Fast Fourier transform calculation of N point)+(multiplication of N point)+1×(Inverse Fast Fourier transform calculation of N point)=((22×N+(23/2)×N×log2N) number of multiplication calculation)+((23×N×log2N) number of addition calculation)
It is well-known that there are 24 satellites in space providing the GPS services, therefore under the worse case scenario, the baseband processing module 10 requires (24×Ct) calculations in order to complete the cold reboot sequence. Other than that, calculations required by the C/A code generator 106 will reduce efficiency.
Please refer to FIG. 2. FIG. 2 illustrates a diagram of a conventional C/A code generator 20. The C/A code generator 20 generates G1 code and G2 code through two series of shift registers D1 to D10, to further generate C/A code, as this operation is well known to those possessing average skill in the art, details will not be reiterated here for the sake of brevity.
When the conventional baseband processing module 10 is executing signal acquisition, a complicated calculation is required, and this can affect the cold reboot efficiency which the cold reboot time cannot be shorten. If transmission of the satellite signal is being blocked, then a new search is required, and the waiting time is being reset, thus the cold reboot time will increase which can cause inconvenience to the user.